Generally, the term “computer system” refers to either a stand-alone system or a plurality of interconnected systems, such as, for instance, a client-server network. Regardless of the implementation, the various components making up a computer system typically operate within a range of parameters defined by performance protocols or standards. For instance, the temperature within a computer chassis is often monitored in order to detect periods in time when the system may rise above a certain predetermined temperature reading. Other forms of information that may be monitored within a computer system include, without limitation, voltages associated with semiconductor components located on the baseboard of the system, velocity (e.g., rpm) of cooling fans located on the baseboard or within the system chassis, and the velocity of spindle motors within hard disk drives or optical drives.
Various types of sensors are being used to detect operating and performance-related parameters associated with a computer system and its constituent components. Referring to the examples provided above, these sensors include thermostats, voltage meters and tachometers. A computer system typically employs one or more management modules to assist in the collection and analysis of information sensed by the various sensors measuring operating and performance-related parameters within the system. These management modules may be either software or hardware components, but typically encompass both hardware and software components. One such management module is referred to as a “Baseboard Management Controller” (BMC). The BMC is a microcontroller integrated into the baseboard (also known in the industry as the “motherboard”) of a computer system and having a specified number of contact pins through which information sensed by various sensors is received for analysis by the BMC. In order to perform this analysis, the BMC is programmed with firmware for implementing procedures relating to system monitoring and recovery. With this firmware, the BMC is programmed to monitor various operating and performance-related parameters sensed within a computer system and to analyze this information to determine whether any of the sensed parameters are currently outside of an expected or recommended operating range, the occurrence of which is commonly referred to as an “event.”
In legacy computer systems, remote interaction over a network between a remote computer and the BMC, for example in order to make sensor measurement inquiries, first requires communication between the remote computer and a management station. The management station is a separate server communicatively connected to one or more computer systems having BMCs. The management station implements a transmission control protocol/Internet protocol (TCP/IP) stack and provides a web server that interfaces with remote computers over a network, such as the Internet. The management station in turn communicates with the network controller of the computer system having the BMC via a specified port, such as 26Fh, using the remote management control protocol (RMCP). RMCP is a user datagram protocol (UDP) addressed to port 26Fh. Communication received by the network controller of the host computer system via this specified port signals the network controller to filter or forward the received communication to the BMC. This process is known as port-based filtering.
Unfortunately, because the network controller of the host computer system only supports the use of one media access control (MAC) address, the network controller can only filter network messages to the BMC utilizing port-based filtering. Further, because UDP network messages are not reliable for accurate and efficient transmission over a network from great distances, direct communication with the BMC over a network utilizing RMCP is also not efficient. Because only RMCP packets are forwarded, the BMC cannot use an advanced networking protocol like TCP/IP. Thus, the use of the separate network controller utilizing a TCP/IP stack and management station for communication over the network is necessary in order to provide a web server for network communication with the BMC.
This current approach has at least two drawbacks. First, this approach of remotely communicating with a BMC comes with the added cost of a separate management station for providing a web interface to the BMC. Second, this approach is time-consuming, requiring communication with the management station prior to communicating with the BMC of any server managed by the management station.